/** Interface used to defined top-level Entity container
 *
 *  @author Scott Monahan
 *  @version $Id$
 *  
 *  File last changed on $Date:$ by $Author:$ in $Rev:$
 *
 */

package info637.pprc.repository;

import java.util.List;

public interface IRepository<T extends AbstractEntity, F extends IFilter<T>> {

	boolean add(T toAdd);

	List<T> fetchAll();
	
	List<T> fetch(F filter);
	
	boolean update(T oldVal, T newVal);
	
	void delete(T toDelete);
}
